Skip to content

Agentic wallets dashboard vendor pack#386

Draft
ArkadiyStena wants to merge 22 commits intomainfrom
agentic-wallets-dashboard
Draft

Agentic wallets dashboard vendor pack#386
ArkadiyStena wants to merge 22 commits intomainfrom
agentic-wallets-dashboard

Conversation

@ArkadiyStena
Copy link
Copy Markdown
Contributor

No description provided.

ArkadiyStena and others added 18 commits March 6, 2026 05:18
Commit contents:
- Updated .gitignore with broader wildcard rules so nested/non-standard build and dependency directories are ignored across the monorepo.

- Updated pnpm-lock.yaml:
  - added a new importer with its full runtime/dev dependency graph (Tailwind v4, Vite 7, React 19, router/query/zustand, and workspace links to appkit/walletkit);
  - updated package resolution details and lock metadata;
  - result: lockfile now reflects the current dependency state after global workspace updates.

- Added root package-lock.json (lockfileVersion 3, 4604 lines):
  - pins npm resolution for root dev toolchain packages and their transitive dependencies;
  - enables reproducible npm-based setup in parallel with pnpm lock.

Resulting effect:
- reduced chance of build/deps artifacts entering git;
- lockfile snapshots aligned with actual monorepo state;
- deterministic dependency installation added for alternative npm workflow.
Added a new apps/agentic-wallets-dashboard app with full frontend structure:
- Vite + React + TypeScript config (vite/tsconfig/tailwind/index.html/package.json);
- core app-kit/env/polyfills configs and global styles;
- dashboard/create-agent/detail pages;
- layout, shared components, dashboard widgets, and modal set;
- agents feature layer: types, store, hooks, mock data, and utilities (metadata/public key/address/trust/amount);
- icons and other static resources.

This commit contains only code and files of the new dashboard application.
…ions

All remaining changes in apps were committed:
- appkit-minter: updated env/app-kit configs and vite-env types;
- demo-wallet: updated env/vite-env and extension background/App logic for the new config scenario;
- mcp-telegram: reworked config, UserServiceFactory, and index entrypoint to align with current wallet/mcp changes.
Re-committed all current dashboard changes: modal updates, shared components (copyable address, jetton balances, wallet button), base styles, hooks/use-agents, address utility, and create-agent page.
… logic

Added README for the dashboard app and committed refinements in hooks/use-agents and create-agent-page.
…ation classification

Included in the staged commit:
- agent-card: removed local useBalanceByAddress; card now receives balanceNano from outside, added TON formatter with fixed 2 decimals, aligned action blocks via flex/h-full and mt-auto;
- dashboard-page: balance loading reworked into shared balancesByAddress query by unique addresses, totalBalance now computed deterministically from balance dictionary, balanceNano passed to AgentCard;
- use-agents: enabled periodic NFT list refetch via ENV_AGENTIC_ACTIVITY_POLL_MS (including in background), removed fallback for NFTs without collection (now only target-collection NFTs remain);
- use-agent-activity: added opcode OP_DEPLOY_SUB_WALLET (0x0609e47b) with agent-operation semantics and correct ContractDeploy categorization as agent_ops for agent operations.

Result:
- fewer redundant balance requests and more predictable total balance aggregation;
- correct filtering of agent NFTs;
- more accurate activity feed and better visual card stability.
Add new read-only MCP tools for AppKit parity:\n- get_balance_by_address\n- get_jettons_by_address\n- get_nfts_by_address\n- get_jetton_info\n- get_jetton_wallet_address\n\nService updates:\n- extend McpWalletService with by-address balance/jettons/nfts queries\n- add jetton master metadata resolver\n- add jetton wallet address resolver\n- keep execution on current CLI NETWORK (no per-call override)\n\nAgentic wallet deploy updates included in this commit:\n- register deploy_agentic_subwallet MCP tool\n- implement deploy flow in McpWalletService\n- require TEP-64 onchain metadata with mandatory metadata.name\n\nWiring/docs:\n- register all new tools in MCP factory (available via CLI bootstrap)\n- export tool factories and service types\n- update README and llms tool reference\n\nValidation performed:\n- pnpm --filter @ton/mcp typecheck\n- pnpm --filter @ton/mcp build\n- smoke check tools/list includes all 5 new methods\n- smoke call each new method and verify input validation error shape
Mirrors the uncommitted change present in the vendored ton-walletkit-0.0.9.tgz
used by agentic-wallets-dashboard.
Auto-fixed with eslint --fix (prettier formatting) across 31 files.
Manually added eslint-disable-next-line for intentional `as any` in
two spec files and removed an unused V3RunGetMethodRequest import.
Previously toHex accepted any Base64-normalizable input and decoded it
as hex without validating the output length. Inputs like 'not-a-hash'
went through Base64Normalize/Base64ToHex and returned short decoded hex
strings instead of rejecting. Now each branch asserts the resulting hex
is exactly 32 bytes (64 chars), matching the spec test.
Port the behavior currently consumed by the dashboard dependency into the walletkit package sources before merging upstream main, so future builds keep the same TonAPI/Toncenter account surface and hash normalization semantics.

Constraint: Dashboard currently depends on a published @ton/walletkit artifact whose behavior differs from this branch source.

Rejected: Keep only the newer strict hash validation | It would drop vendored behavior the dashboard is already using.

Confidence: high

Scope-risk: moderate

Directive: Revisit non-32-byte hash normalization only with a coordinated dashboard compatibility change.

Tested: pnpm --filter @ton/walletkit typecheck; pnpm --filter @ton/walletkit build; pnpm --filter @ton/walletkit test; git diff --check

Not-tested: Full lint, blocked by existing license-header/header config path error for ./resources/license-header.js

Co-authored-by: OmX <omx@oh-my-codex.dev>
Merge current ton-connect/kit main after preserving dashboard walletkit behavior in source. Conflicts were resolved in favor of upstream structure outside walletkit, with vendor-compatible walletkit behavior retained on top of the updated clients.

Constraint: Merge source was origin/main at 7184dfe
Rejected: Abort and rebase | User requested a merge after the walletkit commit.
Confidence: medium
Scope-risk: broad
Directive: Keep vendored walletkit behavior until dashboard dependency is intentionally updated.
Tested: pnpm install --lockfile-only; pnpm --filter @ton/walletkit typecheck; pnpm --filter @ton/walletkit build; pnpm --filter @ton/walletkit test; pnpm exec eslint packages/walletkit --max-warnings 0; git diff --cached --check; no unmerged paths; no merge markers
Not-tested: Full monorepo test suite was not run.
Co-authored-by: OmX <omx@oh-my-codex.dev>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
appkit-minter Ready Ready Preview, Comment May 5, 2026 11:31pm
kit-demo-wallet Ready Ready Preview, Comment May 5, 2026 11:31pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant